完成codingSchool API的功能後
如果直接將API部署上雲端的話
駭客可能會透過一些有害的query
對我們的資料庫進行攻擊
所以要來為API設置一些保護機制
要完成的功能有:
以下圖來說
email沒有經過驗證以確保它們是字符串
當JSON被deserialized時
這段query可能包含任何內容
在MongoDB中,字段$gt用作大於比較器
因此,當輸入的密碼配對到db中的密碼時
結果返回一個肯定的結果,即一個真實的陳述
為了解決這個問題
需要用到express-mongo-sanitize middleware
它可以移除object key中含有$的query
app.use(mongoSanitize());
HelmetJS能確保server回傳給client的response
附上的header能保證網站安全
app.use(helmet());
第二個要下載的package是xss-clean
當publisher在新增bootcamp時
他們可以任意地在json object插入html tag
如此一來會影響網頁的呈現&受到xss attack
一樣能透過安裝package來避免
app.use(xss());